namespace Vin.Extension.Framework.AntChain.Models.Req;

public class OrderProductReq
{
    public class ProductItem
    {
        /// <summary>
        /// 商品采购价,精确到分，即1234表示12.34元  大于等于0
        /// </summary>
        public long? PurchaseAmt { get; set; }
        
        /// <summary>
        /// 商品串码
        /// </summary>
        public string? ProductImeiId { get; set; }
    }
    
    public class ProductSingleReq
    {
        /// <summary>
        /// 商品编码，与融资租赁公司约定的产品Id，长度小于50
        /// </summary>
        public string? ProductId { get; set; }
        
        /// <summary>
        /// 商品版本自然数
        /// </summary>
        public string? ProductVersion { get; set; }
        
        /// <summary>
        /// 商品数量
        /// </summary>
        public string? ProductNumber { get; set; }
        
        /// <summary>
        /// 商品明细信息，如果有填入： list长度应该==productNumber
        /// </summary>
        public List<ProductItem>? ProductItemList { get; set; }
    }

    /// <summary>
    /// 同一订单下，productInfo列表中每一项产品的mainClass(一级类目）应该相同
    /// 同一订单下，productInfo列表中同一个产品的subClass(二级类目）的数量之和必须小于等于3
    /// 产品信息，不超过20个
    /// </summary>
    public List<ProductSingleReq>? ProductInfo { get; set; } = new();
}